﻿using Nop.Web.Framework;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Nop.Admin.Models.Invoice
{
    public class InvoiceListModel
    {
        public InvoiceListModel()
        {
            AvailableStatuses = new List<SelectListItem>();
            AvailableDistricts = new List<SelectListItem>();
            AvailableOrderKinds = new List<SelectListItem>();
        }

        [NopResourceDisplayName("Admin.Invoice.List.StartDate")]
        [UIHint("DateNullable")]
        public DateTime? StartDate { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.EndDate")]
        [UIHint("DateNullable")]
        public DateTime? EndDate { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.Email")]
        [AllowHtml]
        public string Email { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.BillingEmail")]
        [AllowHtml]
        public string BillingEmail { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.InvoiceGuid")]
        [AllowHtml]
        public string InvoiceGuid { get; set; }

        //[NopResourceDisplayName("Admin.Invoice.List.InvoiceNumber")]
        //[AllowHtml]
        //public string InvoiceNumber { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.Name")]
        [AllowHtml]
        public string Name { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.OrderKind")]
        public int OrderKindId { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.District")]
        public int DistrictId { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.InvoiceStatus")]
        public int InvoiceStatusId { get; set; }

        [NopResourceDisplayName("Admin.Invoice.List.GoDirectlyToNumber")]
        public string GoDirectlyToNumber { get; set; }

        [NopResourceDisplayName("Admin.Catalog.Products.List.SearchStore")]
        public int StoreId { get; set; }

        public IList<SelectListItem> AvailableStatuses { get; set; }
        public IList<SelectListItem> AvailableOrderKinds { get; set; }
        public IList<SelectListItem> AvailableDistricts { get; set; }
    }
}